<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>XMP Toolkit SDK: XMP_PacketInfo Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xmp_tagline_small.jpg"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">XMP Toolkit SDK
   &#160;<span id="projectnumber">6.0.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('structXMP__PacketInfo.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structXMP__PacketInfo-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">XMP_PacketInfo Struct Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>XMP packet description.  
 <a href="structXMP__PacketInfo.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="XMP__Const_8h_source.html">XMP_Const.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a2ae03a1b3d03fa9ebc829105037155a8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__PacketInfo.html#a2ae03a1b3d03fa9ebc829105037155a8">XMP_PacketInfo</a> ()</td></tr>
<tr class="memdesc:a2ae03a1b3d03fa9ebc829105037155a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor.  <a href="structXMP__PacketInfo.html#a2ae03a1b3d03fa9ebc829105037155a8">More...</a><br /></td></tr>
<tr class="separator:a2ae03a1b3d03fa9ebc829105037155a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a20f65fcfd0f3658ab93ff441a9d61d2c"><td class="memItemLeft" align="right" valign="top">XMP_Int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__PacketInfo.html#a20f65fcfd0f3658ab93ff441a9d61d2c">offset</a></td></tr>
<tr class="memdesc:a20f65fcfd0f3658ab93ff441a9d61d2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Packet offset in the file in bytes, -1 if unknown.  <a href="structXMP__PacketInfo.html#a20f65fcfd0f3658ab93ff441a9d61d2c">More...</a><br /></td></tr>
<tr class="separator:a20f65fcfd0f3658ab93ff441a9d61d2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af526c582b66e24553f2d4b11eb714a44"><td class="memItemLeft" align="right" valign="top">XMP_Int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__PacketInfo.html#af526c582b66e24553f2d4b11eb714a44">length</a></td></tr>
<tr class="memdesc:af526c582b66e24553f2d4b11eb714a44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Packet length in the file in bytes, -1 if unknown.  <a href="structXMP__PacketInfo.html#af526c582b66e24553f2d4b11eb714a44">More...</a><br /></td></tr>
<tr class="separator:af526c582b66e24553f2d4b11eb714a44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4f99e6a5b36b05fdf4a519421875256"><td class="memItemLeft" align="right" valign="top">XMP_Int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__PacketInfo.html#af4f99e6a5b36b05fdf4a519421875256">padSize</a></td></tr>
<tr class="memdesc:af4f99e6a5b36b05fdf4a519421875256"><td class="mdescLeft">&#160;</td><td class="mdescRight">Packet padding size in bytes, zero if unknown.  <a href="structXMP__PacketInfo.html#af4f99e6a5b36b05fdf4a519421875256">More...</a><br /></td></tr>
<tr class="separator:af4f99e6a5b36b05fdf4a519421875256"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a039ce6665fe8e08d922a46f266799f75"><td class="memItemLeft" align="right" valign="top">XMP_Uns8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__PacketInfo.html#a039ce6665fe8e08d922a46f266799f75">charForm</a></td></tr>
<tr class="memdesc:a039ce6665fe8e08d922a46f266799f75"><td class="mdescLeft">&#160;</td><td class="mdescRight">Character format using the values <code>kXMP_Char8Bit</code>, <code>kXMP_Char16BitBig</code>, etc.  <a href="structXMP__PacketInfo.html#a039ce6665fe8e08d922a46f266799f75">More...</a><br /></td></tr>
<tr class="separator:a039ce6665fe8e08d922a46f266799f75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66845c1d5f3f9f36a1543a7322bd7bd1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Const_8h.html#a0cf68b6f47d136ed571a441a9e0d2248">XMP_Bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__PacketInfo.html#a66845c1d5f3f9f36a1543a7322bd7bd1">writeable</a></td></tr>
<tr class="memdesc:a66845c1d5f3f9f36a1543a7322bd7bd1"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if there is a packet wrapper and the trailer says writeable by dumb packet scanners.  <a href="structXMP__PacketInfo.html#a66845c1d5f3f9f36a1543a7322bd7bd1">More...</a><br /></td></tr>
<tr class="separator:a66845c1d5f3f9f36a1543a7322bd7bd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6725d8ab8b4eedddaac950d2b1b00a7f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Const_8h.html#a0cf68b6f47d136ed571a441a9e0d2248">XMP_Bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__PacketInfo.html#a6725d8ab8b4eedddaac950d2b1b00a7f">hasWrapper</a></td></tr>
<tr class="memdesc:a6725d8ab8b4eedddaac950d2b1b00a7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if there is a packet wrapper, the "&lt;?xpacket...&gt;" XML processing instructions.  <a href="structXMP__PacketInfo.html#a6725d8ab8b4eedddaac950d2b1b00a7f">More...</a><br /></td></tr>
<tr class="separator:a6725d8ab8b4eedddaac950d2b1b00a7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83ec12161a36451fef05d88cc754104e"><td class="memItemLeft" align="right" valign="top">XMP_Uns8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structXMP__PacketInfo.html#a83ec12161a36451fef05d88cc754104e">pad</a></td></tr>
<tr class="memdesc:a83ec12161a36451fef05d88cc754104e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Padding to make the struct's size be a multiple 4.  <a href="structXMP__PacketInfo.html#a83ec12161a36451fef05d88cc754104e">More...</a><br /></td></tr>
<tr class="separator:a83ec12161a36451fef05d88cc754104e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>XMP packet description. </p>

<p class="definition">Definition at line <a class="el" href="XMP__Const_8h_source.html#l01081">1081</a> of file <a class="el" href="XMP__Const_8h_source.html">XMP_Const.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a2ae03a1b3d03fa9ebc829105037155a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ae03a1b3d03fa9ebc829105037155a8">&#9670;&nbsp;</a></span>XMP_PacketInfo()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">XMP_PacketInfo::XMP_PacketInfo </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Default constructor. </p>

<p class="definition">Definition at line <a class="el" href="XMP__Const_8h_source.html#l01101">1101</a> of file <a class="el" href="XMP__Const_8h_source.html">XMP_Const.h</a>.</p>
<div class="fragment"><div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160;                         : <a class="code" href="structXMP__PacketInfo.html#a20f65fcfd0f3658ab93ff441a9d61d2c">offset</a>(<a class="code" href="XMP__Const_8h.html#a6a9b77b60c63781a8776f10880856bf4">kXMPFiles_UnknownOffset</a>), <a class="code" href="structXMP__PacketInfo.html#af526c582b66e24553f2d4b11eb714a44">length</a>(<a class="code" href="XMP__Const_8h.html#ae0901aabcf619f17cff03f08e5ed3658">kXMPFiles_UnknownLength</a>),</div>
<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160;                                           <a class="code" href="structXMP__PacketInfo.html#af4f99e6a5b36b05fdf4a519421875256">padSize</a>(0), <a class="code" href="structXMP__PacketInfo.html#a039ce6665fe8e08d922a46f266799f75">charForm</a>(0), <a class="code" href="structXMP__PacketInfo.html#a66845c1d5f3f9f36a1543a7322bd7bd1">writeable</a>(0), <a class="code" href="structXMP__PacketInfo.html#a6725d8ab8b4eedddaac950d2b1b00a7f">hasWrapper</a>(0), <a class="code" href="structXMP__PacketInfo.html#a83ec12161a36451fef05d88cc754104e">pad</a>(0) {};</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a039ce6665fe8e08d922a46f266799f75"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a039ce6665fe8e08d922a46f266799f75">&#9670;&nbsp;</a></span>charForm</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">XMP_Uns8 XMP_PacketInfo::charForm</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Character format using the values <code>kXMP_Char8Bit</code>, <code>kXMP_Char16BitBig</code>, etc. </p>

<p class="definition">Definition at line <a class="el" href="XMP__Const_8h_source.html#l01091">1091</a> of file <a class="el" href="XMP__Const_8h_source.html">XMP_Const.h</a>.</p>

</div>
</div>
<a id="a6725d8ab8b4eedddaac950d2b1b00a7f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6725d8ab8b4eedddaac950d2b1b00a7f">&#9670;&nbsp;</a></span>hasWrapper</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="XMP__Const_8h.html#a0cf68b6f47d136ed571a441a9e0d2248">XMP_Bool</a> XMP_PacketInfo::hasWrapper</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>True if there is a packet wrapper, the "&lt;?xpacket...&gt;" XML processing instructions. </p>

<p class="definition">Definition at line <a class="el" href="XMP__Const_8h_source.html#l01095">1095</a> of file <a class="el" href="XMP__Const_8h_source.html">XMP_Const.h</a>.</p>

</div>
</div>
<a id="af526c582b66e24553f2d4b11eb714a44"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af526c582b66e24553f2d4b11eb714a44">&#9670;&nbsp;</a></span>length</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">XMP_Int32 XMP_PacketInfo::length</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Packet length in the file in bytes, -1 if unknown. </p>

<p class="definition">Definition at line <a class="el" href="XMP__Const_8h_source.html#l01086">1086</a> of file <a class="el" href="XMP__Const_8h_source.html">XMP_Const.h</a>.</p>

</div>
</div>
<a id="a20f65fcfd0f3658ab93ff441a9d61d2c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a20f65fcfd0f3658ab93ff441a9d61d2c">&#9670;&nbsp;</a></span>offset</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">XMP_Int64 XMP_PacketInfo::offset</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Packet offset in the file in bytes, -1 if unknown. </p>

<p class="definition">Definition at line <a class="el" href="XMP__Const_8h_source.html#l01084">1084</a> of file <a class="el" href="XMP__Const_8h_source.html">XMP_Const.h</a>.</p>

</div>
</div>
<a id="a83ec12161a36451fef05d88cc754104e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a83ec12161a36451fef05d88cc754104e">&#9670;&nbsp;</a></span>pad</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">XMP_Uns8 XMP_PacketInfo::pad</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Padding to make the struct's size be a multiple 4. </p>

<p class="definition">Definition at line <a class="el" href="XMP__Const_8h_source.html#l01098">1098</a> of file <a class="el" href="XMP__Const_8h_source.html">XMP_Const.h</a>.</p>

</div>
</div>
<a id="af4f99e6a5b36b05fdf4a519421875256"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af4f99e6a5b36b05fdf4a519421875256">&#9670;&nbsp;</a></span>padSize</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">XMP_Int32 XMP_PacketInfo::padSize</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Packet padding size in bytes, zero if unknown. </p>

<p class="definition">Definition at line <a class="el" href="XMP__Const_8h_source.html#l01088">1088</a> of file <a class="el" href="XMP__Const_8h_source.html">XMP_Const.h</a>.</p>

</div>
</div>
<a id="a66845c1d5f3f9f36a1543a7322bd7bd1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a66845c1d5f3f9f36a1543a7322bd7bd1">&#9670;&nbsp;</a></span>writeable</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="XMP__Const_8h.html#a0cf68b6f47d136ed571a441a9e0d2248">XMP_Bool</a> XMP_PacketInfo::writeable</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>True if there is a packet wrapper and the trailer says writeable by dumb packet scanners. </p>

<p class="definition">Definition at line <a class="el" href="XMP__Const_8h_source.html#l01093">1093</a> of file <a class="el" href="XMP__Const_8h_source.html">XMP_Const.h</a>.</p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>public/include/<a class="el" href="XMP__Const_8h_source.html">XMP_Const.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aXMP__Const_8h_html_ae0901aabcf619f17cff03f08e5ed3658"><div class="ttname"><a href="XMP__Const_8h.html#ae0901aabcf619f17cff03f08e5ed3658">kXMPFiles_UnknownLength</a></div><div class="ttdeci">#define kXMPFiles_UnknownLength</div><div class="ttdoc">Constant for an unknown packet length within a file.</div><div class="ttdef"><b>Definition:</b> <a href="XMP__Const_8h_source.html#l01078">XMP_Const.h:1078</a></div></div>
<div class="ttc" id="astructXMP__PacketInfo_html_af4f99e6a5b36b05fdf4a519421875256"><div class="ttname"><a href="structXMP__PacketInfo.html#af4f99e6a5b36b05fdf4a519421875256">XMP_PacketInfo::padSize</a></div><div class="ttdeci">XMP_Int32 padSize</div><div class="ttdoc">Packet padding size in bytes, zero if unknown.</div><div class="ttdef"><b>Definition:</b> <a href="XMP__Const_8h_source.html#l01088">XMP_Const.h:1088</a></div></div>
<div class="ttc" id="astructXMP__PacketInfo_html_a039ce6665fe8e08d922a46f266799f75"><div class="ttname"><a href="structXMP__PacketInfo.html#a039ce6665fe8e08d922a46f266799f75">XMP_PacketInfo::charForm</a></div><div class="ttdeci">XMP_Uns8 charForm</div><div class="ttdoc">Character format using the values kXMP_Char8Bit, kXMP_Char16BitBig, etc.</div><div class="ttdef"><b>Definition:</b> <a href="XMP__Const_8h_source.html#l01091">XMP_Const.h:1091</a></div></div>
<div class="ttc" id="aXMP__Const_8h_html_a6a9b77b60c63781a8776f10880856bf4"><div class="ttname"><a href="XMP__Const_8h.html#a6a9b77b60c63781a8776f10880856bf4">kXMPFiles_UnknownOffset</a></div><div class="ttdeci">#define kXMPFiles_UnknownOffset</div><div class="ttdoc">Constant for an unknown packet offset within a file.</div><div class="ttdef"><b>Definition:</b> <a href="XMP__Const_8h_source.html#l01074">XMP_Const.h:1074</a></div></div>
<div class="ttc" id="astructXMP__PacketInfo_html_a20f65fcfd0f3658ab93ff441a9d61d2c"><div class="ttname"><a href="structXMP__PacketInfo.html#a20f65fcfd0f3658ab93ff441a9d61d2c">XMP_PacketInfo::offset</a></div><div class="ttdeci">XMP_Int64 offset</div><div class="ttdoc">Packet offset in the file in bytes, -1 if unknown.</div><div class="ttdef"><b>Definition:</b> <a href="XMP__Const_8h_source.html#l01084">XMP_Const.h:1084</a></div></div>
<div class="ttc" id="astructXMP__PacketInfo_html_a83ec12161a36451fef05d88cc754104e"><div class="ttname"><a href="structXMP__PacketInfo.html#a83ec12161a36451fef05d88cc754104e">XMP_PacketInfo::pad</a></div><div class="ttdeci">XMP_Uns8 pad</div><div class="ttdoc">Padding to make the struct's size be a multiple 4.</div><div class="ttdef"><b>Definition:</b> <a href="XMP__Const_8h_source.html#l01098">XMP_Const.h:1098</a></div></div>
<div class="ttc" id="astructXMP__PacketInfo_html_a66845c1d5f3f9f36a1543a7322bd7bd1"><div class="ttname"><a href="structXMP__PacketInfo.html#a66845c1d5f3f9f36a1543a7322bd7bd1">XMP_PacketInfo::writeable</a></div><div class="ttdeci">XMP_Bool writeable</div><div class="ttdoc">True if there is a packet wrapper and the trailer says writeable by dumb packet scanners.</div><div class="ttdef"><b>Definition:</b> <a href="XMP__Const_8h_source.html#l01093">XMP_Const.h:1093</a></div></div>
<div class="ttc" id="astructXMP__PacketInfo_html_af526c582b66e24553f2d4b11eb714a44"><div class="ttname"><a href="structXMP__PacketInfo.html#af526c582b66e24553f2d4b11eb714a44">XMP_PacketInfo::length</a></div><div class="ttdeci">XMP_Int32 length</div><div class="ttdoc">Packet length in the file in bytes, -1 if unknown.</div><div class="ttdef"><b>Definition:</b> <a href="XMP__Const_8h_source.html#l01086">XMP_Const.h:1086</a></div></div>
<div class="ttc" id="astructXMP__PacketInfo_html_a6725d8ab8b4eedddaac950d2b1b00a7f"><div class="ttname"><a href="structXMP__PacketInfo.html#a6725d8ab8b4eedddaac950d2b1b00a7f">XMP_PacketInfo::hasWrapper</a></div><div class="ttdeci">XMP_Bool hasWrapper</div><div class="ttdoc">True if there is a packet wrapper, the &quot;&lt;?xpacket...&gt;&quot; XML processing instructions.</div><div class="ttdef"><b>Definition:</b> <a href="XMP__Const_8h_source.html#l01095">XMP_Const.h:1095</a></div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="structXMP__PacketInfo.html">XMP_PacketInfo</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
  </ul>
</div>
</body>
</html>
